package com.plian.system.entity.pm.property;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * @description:
 * @author: gangan
 * @create: 2020-07-10 22:27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel(value = "BaseContributor对象", description = "出资人信息")
public class BaseContributor {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.UUID)
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 主表ID
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "主表ID")
    private String propertyId;

    /**
     * 出资人类别 编码 057
     */
    @ApiModelProperty(value = "出资人类别  编码 057", required = true)
    private String category;

    /**
     * 出资额（本币）
     */
    @ApiModelProperty(value = "出资额（本币）", required = true)
    private String contributionAmount;

    /**
     * 出资人
     */
    @ApiModelProperty(value = "出资人", required = true)
    private String contributor;

    /**
     * 股权比例
     */
    @ApiModelProperty(value = "股权比例", required = true)
    private BigDecimal equityRatio;

    /**
     * 法人代表
     */
    @ApiModelProperty(value = "法人代表")
    private String legalPerson;

    /**
     * 排序码
     */
    @ApiModelProperty(value = "排序码")
    private String orderNum;

    /**
     * 统一社会信用代码
     */
    @ApiModelProperty(value = "统一社会信用代码", required = true)
    private String orgCode;

    /**
     * 企业id
     */
    @ApiModelProperty(value = "企业id")
    private String orgId;

    /**
     * 实缴注册资本（本币）
     */
    @ApiModelProperty(value = "实缴注册资本（本币）", required = true)
    private String orgPaidCapital;

    /**
     * 认缴注册资本（本币）
     */
    @ApiModelProperty(value = "认缴注册资本（本币）", required = true)
    private String orgSubscribedCapital;

    /**
     * 出资额（原币）
     */
    @ApiModelProperty(value = "出资额（原币）")
    private String originalContributionAmount;

    /**
     * 实缴注册资本(原币)
     */
    @ApiModelProperty(value = "实缴注册资本(原币)")
    private String originalPaidCapital;

    /**
     * 认缴注册资本(原币)
     */
    @ApiModelProperty(value = "认缴注册资本(原币)")
    private String originalSubscribedCapital;

    @TableField(exist = false)
    @ApiModelProperty(value = "产权来源id", required = true)
    private String propertyDataSourceId;

}
